/*
	navi-tech 1(c)- Eternal Team 2012
	
	Nico Durrant
	
	Device holds game class instances and provides
	references to classes to areas of the framework
	that requires it.
*/

#ifndef DEVICE_H
#define DEVICE_H

namespace Eternal
{
	namespace Video { class VideoSystem; }
	namespace Scene { class Camera; }
	namespace Core
	{
		class InputManager;
		class Device
		{
			public:
				Device();
				~Device();
				
				Eternal::Video::VideoSystem *GetVideoSystem() const;
				InputManager *GetInputManager() const;
				Scene::Camera *GetCamera() const;
			private:
				Eternal::Video::VideoSystem *myVideoSystem;
				InputManager *myInputManager;
				Scene::Camera *myCameraInstance;
				
		};
	}
}

#endif